﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace FrbaBus.GenerarViaje
{
    public partial class FormViajeRecorrido : Form
    {

        public long recorridoSeleccionado { get; set; }

        public FormViajeRecorrido()
        {
            InitializeComponent();
            //Cargar datos en la tabla
            CrearColumnasTabla();
            CargarTabla();
        }

        private void FormViajeRecorrido_Load(object sender, EventArgs e)
        {

        }

        private void btnViajeRecorrido_Click(object sender, EventArgs e)
        {
            recorridoSeleccionado = Convert.ToInt64(grillaViajeRecorrido.SelectedRows[0].Cells[0].Value);

            this.Hide();
        }


        //Muestra todos los datos de los recorridos en la tabla
        private void CargarTabla()
        {

            grillaViajeRecorrido.Rows.Clear();

            string query;

            query = "SELECT R.rec_codigo, CO.ciu_nombre as origen, CD.ciu_nombre as destino, S.serv_nombre, R.rec_precio_base_pasaje, R.rec_precio_base_encomienda, R.rec_eliminado FROM THE_BEST_IAS.recorridos R";

            query += " inner join THE_BEST_IAS.ciudades CO on R.ciu_codigo_origen = CO.ciu_codigo";
            query += " inner join THE_BEST_IAS.ciudades CD on R.ciu_codigo_destino = CD.ciu_codigo";
            query += " inner join THE_BEST_IAS.servicios S on R.serv_codigo = S.serv_codigo";
            query += " AND rec_eliminado = 0";
            query += " ORDER BY 1";

            SqlDataReader dr = DbHelper.ExecuteQuery(query);

            if (dr.HasRows)
            {
                while (dr.Read())
                {
                    grillaViajeRecorrido.Rows.Add(new object[] { 
                           dr["rec_codigo"].ToString().Trim(), 
                           dr["origen"].ToString().Trim(), 
                           dr["destino"].ToString().Trim(),
                           dr["serv_nombre"].ToString().Trim(),
                           dr["rec_precio_base_pasaje"].ToString().Trim(),
                           dr["rec_precio_base_encomienda"].ToString().Trim(),
                           dr["rec_eliminado"].ToString().Trim()
                         });
                }
            }
            else
            {
                MessageBox.Show("No se datos, por favor, considerar sus filtros", "INFORMACION");
            }
        }

        //Inicializar columnas
        private void CrearColumnasTabla()
        {
            grillaViajeRecorrido.Columns.Add("rec_codigo", "CODIGO");
            grillaViajeRecorrido.Columns.Add("ciu_codigo_origen", "ORIGEN");
            grillaViajeRecorrido.Columns.Add("ciu_codigo_destino", "DESTINO");
            grillaViajeRecorrido.Columns.Add("serv_codigo", "SERVICIO");
            grillaViajeRecorrido.Columns.Add("rec_precio_base_pasaje", "PRECIO BASE PASAJE");
            grillaViajeRecorrido.Columns.Add("rec_precio_base_encomienda", "PRECIO BASE ENCOMIENDA");
            grillaViajeRecorrido.Columns.Add("rec_eliminado", "ELIMINADO");
        }

    }
}
